<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org"
      xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity5" lang="cn">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>影视直播厅</title>
</head>
<body>
<h2 align="center">欢迎进入电影网站首页</h2>
<div sec:authorize="isAnonymous()">
    <!--    只有匿名用户才会显示-->
    <h2 align="center">游客您好，如果想查看电影<a th:href="@{/userLogin}">请登录</a></h2>
</div>
<div sec:authorize="isAnonymous()">
    <!--    只有匿名用户才会显示-->
    <h2 align="center">普通用户用户名:com 密码：123456</h2>
    <h2 align="center">vip用户用户名:vip 密码：123456</h2>
</div>
<!--只有认证用户（登录用户）才会显示-->
<div sec:authorize="isAuthenticated()">
    <h2 align="center"><span sec:authentication="name" style="color: #007bff"></span>您好，您的用户权限为<span
            sec:authentication="principal.authorities" style="color:darkkhaki"></span>，您有权观看以下电影</h2>
    <form th:action="@{/mylogout}" method="post">
        <input th:type="submit" th:value="注销"/>
    </form>
</div>
<hr>
<div sec:authorize="hasAnyRole('common','vip')">
    <!--    只有角色为common（对应权限Authority为ROLE_common）且登陆的用户才会显示普通电影列表信息-->
    <h3>普通电影</h3>
    <ul>
        <li><a th:href="@{/detail/common/1}">飞驰人生</a></li>
        <li><a th:href="@{/detail/common/2}">夏洛特烦恼</a></li>
    </ul>
</div>
<div sec:authorize="hasAuthority('ROLE_vip')">
    <!--    只有权限为ROLE_vip（对应权限Role为vip）且登陆的用户才会显示vip电影列表信息-->
    <h3>VIP专享</h3>
    <ul>
        <li><a th:href="@{/detail/vip/1}">速度与激情</a></li>
        <li><a th:href="@{/detail/vip/2}">猩球崛起</a></li>
    </ul>
</div>
<div sec:authorize="hasAuthority('ROLE_common')">
    <!--    只有权限为ROLE_vip（对应权限Role为vip）且登陆的用户才会显示vip电影列表信息-->
    <h3>VIP专享(此目录下如果访问会提示没有权限！仅做测试使用)</h3>
    <ul>
        <li><a th:href="@{/detail/vip/1}">速度与激情</a></li>
        <li><a th:href="@{/detail/vip/2}">猩球崛起</a></li>
    </ul>
</div>
<div sec:authorize="isAuthenticated()">
    <h3>以下链接用来展示注解实现的权限认证控制</h3>
    <ul>
        <li><a th:href="@{/role1/vip}">@Secured注解的vip</a></li>
        <li><a th:href="@{/role1/common}">@Secured注解的common（vip也可访问）</a></li>
        <li><a th:href="@{/role2/vip}">@PreAuthorize注解的vip</a></li>
        <li><a th:href="@{/role2/common}">@PostAuthorize注解的common（vip也可访问）</a></li>
        <li><a th:href="@{/onleself}">此界面只能查询自己信息，请在url后加入?username=#,#为您的用户名</a></li>
    </ul>
</div>
<div sec:authorize="isAuthenticated()">
    <h3>以下链接用来展示自定义错误界面</h3>
    <ul>
        <li><a th:href="@{/something}">404错误界面</a></li>
        <li><a th:href="@{/errorpage}">500错误界面</a></li>
        <li><a th:href="@{/test}">403错误界面</a></li>
    </ul>
</div>
<div sec:authorize="isAuthenticated()">
    <h3>以下链接用来展示CSRF</h3>
    <ul>
        <li><a th:href="@{/toUpdate}">未添加token，会被拦截</a></li>
        <li><a th:href="@{/toUpdate2}">添加token，不会被拦截</a></li>
    </ul>
</div>
</body>
</html>

